package com.mc.gpm.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.mc.common.annotation.Excel;
import com.mc.common.core.domain.BaseEntity;

/**
 * 种质资源库对象 gpm_storage
 *
 * @author mc
 * @date 2021-03-19
 */
public class GpmStorage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 库编号 */
    @Excel(name = "库编号")
    private String storageId;

    /** 采集编号 */
    @Excel(name = "采集编号")
    private String cltId;

    /** 种质编号 采集人填写编号 */
    @Excel(name = "种质编号 采集人填写编号")
    private String germplasmCode;

    /** 货架编号 */
    @Excel(name = "货架编号")
    private int shelveId;

    /** 入库时活性 */
    @Excel(name = "入库时活性")
    private String inActive;

    /** 入库量 */
    @Excel(name = "入库量")
    private BigDecimal amount;

    /** 入库登记人 */
    @Excel(name = "入库登记人")
    private String inUserId;

    /** 千粒重 */
    @Excel(name = "千粒重")
    private String grain;

    /** 纯净度 */
    @Excel(name = "纯净度")
    private String purity;

    /** 名称 */
    @Excel(name = "名称")
    private String name;

    /** 学名 */
    @Excel(name = "学名")
    private String species;

    /** 科名 */
    @Excel(name = "科名")
    private String family;

    /** 属名 */
    @Excel(name = "属名")
    private String genus;

    /** 经度 */
    @Excel(name = "经度")
    private BigDecimal longitude;

    /** 维度 */
    @Excel(name = "维度")
    private BigDecimal latitude;

    /** 海拔 */
    @Excel(name = "海拔")
    private BigDecimal elecation;

    /** 坡度 */
    @Excel(name = "坡度")
    private BigDecimal slopeDegree;

    /** 坡向 */
    @Excel(name = "坡向")
    private String slopeAcpect;

    /** 坡位 */
    @Excel(name = "坡位")
    private String slopePosition;

    /** 伴生种 */
    @Excel(name = "伴生种")
    private String associateSpecies;

    /** 地形 */
    @Excel(name = "地形")
    private String topography;

    /** 采集时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "采集时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cltTime;

    /** 采集地点 */
    @Excel(name = "采集地点")
    private String location;

    /** 采集人 */
    @Excel(name = "采集人")
    private String cltUserId;

    /** 采集任务 */
    @Excel(name = "采集任务")
    private String taskId;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 当前编号 */
    private String number;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updateUserId;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createUserId;

    /** 货架位置 */
    @Excel(name = "货架位置")
    private String shelvePosition;

    /**采集人名称**/
    @Excel(name = "采集人")
    private String cltUserName;

    /*入库登记人**/
    @Excel(name = "采集人")
    private String inUserName;

    /*出库次数**/
    @Excel(name = "出库次数")
    private int outCount;

    private String shelveNumber;

    /** 活性到期日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活性到期日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date activeExprieDate;

    public void setStorageId(String storageId)
    {
        this.storageId = storageId;
    }

    public String getStorageId()
    {
        return storageId;
    }
    public void setCltId(String cltId)
    {
        this.cltId = cltId;
    }

    public String getCltId()
    {
        return cltId;
    }
    public void setGermplasmCode(String germplasmCode)
    {
        this.germplasmCode = germplasmCode;
    }

    public String getGermplasmCode()
    {
        return germplasmCode;
    }
    public void setShelveId(int shelveId)
    {
        this.shelveId = shelveId;
    }

    public String getCltUserName() {
        return cltUserName;
    }

    public void setCltUserName(String cltUserName) {
        this.cltUserName = cltUserName;
    }

    public String getInUserName() {
        return inUserName;
    }

    public void setInUserName(String inUserName) {
        this.inUserName = inUserName;
    }

    public int getOutCount() {
        return outCount;
    }

    public void setOutCount(int outCount) {
        this.outCount = outCount;
    }

    public int getShelveId()
    {
        return shelveId;
    }
    public void setInActive(String inActive)
    {
        this.inActive = inActive;
    }

    public String getInActive()
    {
        return inActive;
    }
    public void setAmount(BigDecimal amount)
    {
        this.amount = amount;
    }

    public BigDecimal getAmount()
    {
        return amount;
    }
    public void setInUserId(String inUserId)
    {
        this.inUserId = inUserId;
    }

    public String getInUserId()
    {
        return inUserId;
    }
    public void setGrain(String grain)
    {
        this.grain = grain;
    }

    public String getGrain()
    {
        return grain;
    }
    public void setPurity(String purity)
    {
        this.purity = purity;
    }

    public String getPurity()
    {
        return purity;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setSpecies(String species)
    {
        this.species = species;
    }

    public String getSpecies()
    {
        return species;
    }
    public void setFamily(String family)
    {
        this.family = family;
    }

    public String getFamily()
    {
        return family;
    }
    public void setGenus(String genus)
    {
        this.genus = genus;
    }

    public String getGenus()
    {
        return genus;
    }
    public void setLongitude(BigDecimal longitude)
    {
        this.longitude = longitude;
    }

    public BigDecimal getLongitude()
    {
        return longitude;
    }
    public void setLatitude(BigDecimal latitude)
    {
        this.latitude = latitude;
    }

    public BigDecimal getLatitude()
    {
        return latitude;
    }
    public void setElecation(BigDecimal elecation)
    {
        this.elecation = elecation;
    }

    public BigDecimal getElecation()
    {
        return elecation;
    }
    public void setSlopeDegree(BigDecimal slopeDegree)
    {
        this.slopeDegree = slopeDegree;
    }

    public BigDecimal getSlopeDegree()
    {
        return slopeDegree;
    }
    public void setSlopeAcpect(String slopeAcpect)
    {
        this.slopeAcpect = slopeAcpect;
    }

    public String getSlopeAcpect()
    {
        return slopeAcpect;
    }
    public void setSlopePosition(String slopePosition)
    {
        this.slopePosition = slopePosition;
    }

    public String getSlopePosition()
    {
        return slopePosition;
    }
    public void setAssociateSpecies(String associateSpecies)
    {
        this.associateSpecies = associateSpecies;
    }

    public String getAssociateSpecies()
    {
        return associateSpecies;
    }
    public void setTopography(String topography)
    {
        this.topography = topography;
    }

    public String getTopography()
    {
        return topography;
    }
    public void setCltTime(Date cltTime)
    {
        this.cltTime = cltTime;
    }

    public Date getCltTime()
    {
        return cltTime;
    }
    public void setLocation(String location)
    {
        this.location = location;
    }

    public String getLocation()
    {
        return location;
    }
    public void setCltUserId(String cltUserId)
    {
        this.cltUserId = cltUserId;
    }

    public String getCltUserId()
    {
        return cltUserId;
    }
    public void setTaskId(String taskId)
    {
        this.taskId = taskId;
    }

    public String getTaskId()
    {
        return taskId;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setUpdateUserId(String updateUserId)
    {
        this.updateUserId = updateUserId;
    }

    public String getUpdateUserId()
    {
        return updateUserId;
    }
    public void setCreateUserId(String createUserId)
    {
        this.createUserId = createUserId;
    }

    public String getCreateUserId()
    {
        return createUserId;
    }
    public void setActiveExprieDate(Date activeExprieDate)
    {
        this.activeExprieDate = activeExprieDate;
    }

    public Date getActiveExprieDate()
    {
        return activeExprieDate;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getShelvePosition() {
        return shelvePosition;
    }

    public void setShelvePosition(String shelvePosition) {
        this.shelvePosition = shelvePosition;
    }

    public String getShelveNumber() {
        return shelveNumber;
    }

    public void setShelveNumber(String shelveNumber) {
        this.shelveNumber = shelveNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("storageId", getStorageId())
                .append("cltId", getCltId())
                .append("germplasmCode", getGermplasmCode())
                .append("shelveId", getShelveId())
                .append("inActive", getInActive())
                .append("amount", getAmount())
                .append("inUserId", getInUserId())
                .append("grain", getGrain())
                .append("purity", getPurity())
                .append("name", getName())
                .append("species", getSpecies())
                .append("family", getFamily())
                .append("genus", getGenus())
                .append("longitude", getLongitude())
                .append("latitude", getLatitude())
                .append("elecation", getElecation())
                .append("slopeDegree", getSlopeDegree())
                .append("slopeAcpect", getSlopeAcpect())
                .append("slopePosition", getSlopePosition())
                .append("associateSpecies", getAssociateSpecies())
                .append("topography", getTopography())
                .append("cltTime", getCltTime())
                .append("location", getLocation())
                .append("cltUserId", getCltUserId())
                .append("taskId", getTaskId())
                .append("status", getStatus())
                .append("updateTime", getUpdateTime())
                .append("updateUserId", getUpdateUserId())
                .append("createTime", getCreateTime())
                .append("createUserId", getCreateUserId())
                .append("activeExprieDate", getActiveExprieDate())
                .append("shelvePosition", getShelvePosition())
                .append("shelveNumber", getShelveNumber())
                .toString();
    }
}